package com.zhuxulin.lottery.utils;

import java.util.regex.Pattern;

/**
 * 此类主要负责数据的合法性检测
 * 
 * @author ZhuXulin
 * @version 1.0
 */
public final class CheckUtils {
	/**
	 * 检查输入的是否为手机号码，必须以1开头，3.4.5.7.8为第二为，后面随便9位数字。
	 * 
	 * @param num
	 *            传人的11为手机号码
	 * @return 匹配成功返回true，是败返回false
	 */
	public static boolean isPhoneNumber(String num) {
		return Pattern.compile("^1[3|4|5|7|8][0-9]{9}").matcher(num).matches();
	}

	/**
	 * 检查验证码是否为6位
	 * 
	 * @param code
	 *            验证码
	 * @return 成功返回true 失败返回false
	 */
	public static boolean likeVerifyCode(String code) {
		return Pattern.compile("[0-9]{6}").matcher(code).matches();
	}

	/**
	 * 判断s1和s2的值是否相等
	 * 
	 * @param s1
	 * @param s2
	 * @return 相等返回true，不等返回false
	 */
	public static boolean isEquals(String s1, String s2) {
		return s1.equals(s2);
	}

	/**
	 * 检查是否符合密码格式，最低要求6位，最高不能够超过18位！[6,18]
	 * 
	 * @param pwd
	 *            输入的密码
	 * @return 符合密码格式返回true，不符合返回false
	 */
	public static boolean likePassword(String pwd) {
		return pwd.length() >= 6 && pwd.length() <= 18;
	}

	/**
	 * 检查字符串的最短长度是否符合要求
	 * 
	 * @param s
	 *            要检查的字符串
	 * @param len
	 *            最短长度，包含此长度
	 * @return 如果s.length()>=len 返回true，否则返回false
	 */
	public static boolean isLengthThan(String s, int len) {
		return s.length() >= len;
	}

	/**
	 * 检查数据是否为空
	 * 
	 * @param s
	 *            要检查的数据字符串
	 * @return s为null或者s为空白字符串将返回true，非空白则返回false
	 */
	public static boolean isEmpty(String s) {
		return null == s || s.length() == 0;
	}
}
